package com.zzl.admin.utils;

import java.util.Objects;

/**
 * description: 判断两个对象是否相等工具类
 * @author 朱正磊
 * @date 2019-07-26 15:47:06
 */
@SuppressWarnings("ALL")
public class EqualsUtil {

    /**
     * description：判断两个对象是否相等（基本数据类型包装类以及字符串）
     * user 朱正磊
     * time 2019-03-24 16:40
     * @param a 对象a
     * @param b 对象b
     * @return 如果相等返回true，否则返回false
     */
    public static boolean equals(Object a, Object b) {
        return Objects.equals(a, b);
    }

    /**
     * description：判断两个对象是否不相等（基本数据类型包装类以及字符串）
     * user 朱正磊
     * time 2019-03-24 16:40
     * @param a 对象a
     * @param b 对象b
     * @return 如果不相等返回true，否则返回false
     */
    public static boolean notEquals(Object a, Object b) {
        return !Objects.equals(a, b);
    }

    /**
     * description：判断两个对象是否深度相等（基本数据类型包装类以及字符串还有数组）
     * user 朱正磊
     * time 2019-03-24 16:40
     * @param a 对象a
     * @param b 对象b
     * @return 如果深度相等返回true，否则返回false
     */
    public static boolean deepEquals(Object a, Object b) {
        return Objects.deepEquals(a, b);
    }

    /**
     * description：判断两个对象是否深度不相等（基本数据类型包装类以及字符串还有数组）
     * user 朱正磊
     * time 2019-03-24 16:41
     * @param a 对象a
     * @param b 对象b
     * @return 如果不深度相等返回true，否则返回false
     */
    public static boolean notDeepEquals(Object a, Object b) {
        return !Objects.deepEquals(a, b);
    }

}
